from abc import ABC, abstractmethod

class OrderDispatchInterface(ABC):
    """
    OrderDispatchInterface 是一个订单分配接口，用于实现订单与机器人的分配逻辑。
    该接口定义了一个抽象方法 dispatch_orders_to_robots，子类必须实现此方法来完成具体的分配策略。
    """

    @abstractmethod
    def dispatch_orders_to_robots(self, order_list, robot_list):
        """
        分配订单给机器人的方法，子类应实现此方法来定义订单与机器人的分配逻辑。
        :param order_list: 待分配的订单列表，每个订单包含订单相关信息（如ID、开始位置、结束位置等）。
        :param robot_list: 可用的机器人列表，每个机器人包含机器人相关信息（如ID、位置等）。
        :return: 返回分配结果，为成功分配的订单与机器人之间的映射关系。
        """
        pass
